/**
 * @description 注册底部全局组件
 */

import MainLayout from './component'

// 定义一个处理时间的通用方法
export let dateFormat = function(val, str) {
    // 获取形参
    // console.log(arguments)

    // 获取到的是一个时间字符串，需要转为一个时间对象
    let _d = new Date(val || Date.now()),
        YYYY = _d.getFullYear(),
        MM = _d.getMonth() + 1,
        DD = _d.getDate(),
        hh = _d.getHours(),
        mm = _d.getMinutes(),
        ss = _d.getSeconds()

    // 需要把一位的数字转为两位
    MM = MM > 9 ? MM : `0${MM}`
    DD = DD > 9 ? DD : `0${DD}`
    hh = hh > 9 ? hh : `0${hh}`
    mm = mm > 9 ? mm : `0${mm}`
    ss = ss > 9 ? ss : `0${ss}`

    // 需要把这些数据整理为一个对象
    let obj = {YYYY, MM, DD, hh, mm, ss}

    // 需要把处理后的数据返回去
    // return `${YYYY}年${MM}月${DD}日 ${hh}时${mm}分${ss}秒`
    // return `${MM}月${DD}日 ${hh}时`
    // return `${MM}-${DD} ${hh}`
    return str.replace(/(YYYY)|(MM)|(DD)|(hh)|(mm)|(ss)/g, function(_s) {
        return obj[_s]
    })
}

function plugin(VueConstructor){
    VueConstructor.component('MainLayout',MainLayout)
    VueConstructor.filter('dateFormat',dateFormat)
}

export default plugin